一道与普通rsa不太相同的题,基本没见过这个思路,但实际上并不难,需要一点数学的直觉。
直接看代码可以知道,所使用的消息mm、大整数NN和加密指数ee都是固定的,但需要用户自行输入一个padding,加密过程是:
其中ee的值固定为3,但因为消息mm过长,三次方后超过NN,导致直接开立方不奏效。由于密钥参数都是确定的,因此可以用两次加密作差来解决求模的问题,记sha256(padding)sha256(padding)为pp,密文为cc,那么两次加密的结果记做:
直接相减可以消去mm的立方项,由于p≪mp≪m